package com.naiterui.ehp.bs.emr.feign;

import java.util.List;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

import com.naiterui.common.repository.page.PageVO;
import com.naiterui.ehp.bp.bo.consult.VideoConsultBO;
import com.naiterui.ehp.bp.bo.consult.VideoConsultMessageBO;
import com.naiterui.ehp.bp.support.config.FeignConfiguration;
import com.naiterui.ehp.bs.emr.vo.PatientConsultRecordVO;

/**
 * @author luao
 * @date 2021/2/26 11:02 上午
 **/
@FeignClient(name = "emrVideoConsult", url = "${ehp.domain.videoConsult}", configuration = FeignConfiguration.class)
public interface VideoConsultFeignClient {

    @PostMapping("/inner/video/consult/message/save")
    VideoConsultMessageBO saveVideoConsultMessage(@RequestBody VideoConsultMessageBO videoConsultMessageBO);

    @GetMapping("/inner/video/consult/getVideoConsultsPage")
    PageVO<PatientConsultRecordVO> getVideoConsultsPage(@RequestParam int page, @RequestParam int num,
        @RequestParam List<Long> inquirerIds);

    @GetMapping("/inner/video/consult/getPatientConsultRecord")
    PatientConsultRecordVO getPatientConsultRecord(@RequestParam Long videoConsultId);

    @GetMapping("/inner/video/consult/getMessageByVideoConsultId")
    List<VideoConsultMessageBO> getMessageByVideoConsultId(@RequestParam Long videoConsultId,
        @RequestParam List<Integer> types);

    @GetMapping("/inner/video/consult/getVideoConsultById")
    VideoConsultBO getVideoConsult(@RequestParam Long videoConsultId);
}
